搜索 K
Appearance
博客正在加载中...
Appearance
上一节我们简单介绍了下 SpringMVC 的执行过程,我们继续讲解 SpringMVC 中的一些组件,以方便后续的学习
SpringMVC 框架是基于组件方式执行流程的,有很多的组件,例如前端控制权,处理映射器,处理器..... 很多很多的“器”,每个器可以看作是一个组件。
整体流程图如下:

接下来我们逐步讲解
浏览器发送请求后,首先会到达前端控制器中,这个前端控制器我们可以看成是一个指挥中心,由他统一接受请求、处理请求。
前端控制器会寻找对应的处理映射器,还记得我们之前给方法上加了一个注解 @RequestMapping 吗?该步骤可以根据请求的路径,寻找到是哪个 Controller 的哪个方法处理这个请求。
寻找到具体的控制器和方法后,处理器映射器就回返回该结果给前端控制器。注意,此时并没有执行该方法。
根据返回的方法,前端控制器会去找处理器适配器,由该组件去执行方法。 之所以叫适配器,是因为使用了适配器的设计模式
此时,适配器会去执行该方法
然后方法的返回结果是一个 ModelAndView,我们后续会讲,这里可以简单理解为是一个静态资源的文件名。该文件名返回给前端控制器。
前端控制器下一步就是找视图解析器,由视图解析器返回具体的文件名
然后前端控制器会渲染静态资源,例如将 JSP 转为 Servlet,返回结果给前端;或者返回 Excel,pdf 等静态资源。
前端控制权将渲染好的结果,返回给浏览器,此时,一个 HTTP 请求完成了
每个组件各司其职: